/*
 * 文件名：PassivSendListenThread.java
 * 版权：亚信联创版权所有
 * 描述：TODO
 * 修改人：yuanze
 * 修改时间：2014年11月14日
 * 修改内容：TODO
 */
package com.ailk.bigdata.etl.realstream.server.thread;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import com.ailk.bigdata.etl.realstream.server.netty.handler.StreamDataPassivSenderHandler;
import com.ailk.bigdata.etl.realstream.server.netty.server.RealStreamPassivSenderServer;
import com.ailk.bigdata.etl.realstream.server.tools.RealStreamTool;

/**
 * @description 数据发送被动模式监听启动线程
 * @author [yuanze]
 * @version [版本号,2014年11月14日]
 * @see [相关类/方法]
 * @since [产品/模块版本]
 */
public class PassivSendListenThread extends Thread
{
	private static Logger logger = LoggerFactory.getLogger(PassivSendListenThread.class);

	private int port;
	private String threadName;

	public PassivSendListenThread(int port, String threadName)
	{
		this.port = port;
		this.threadName = threadName;
	}

	@Override
	public void run()
	{
		try
		{
			Thread.currentThread().setName(threadName + "_" + port);
			logger.info("实时流数据被动发送数据进程 THREAD_NAME[" + threadName + "_" + port + "]端口监听服务启动.........");
			new RealStreamPassivSenderServer(port).run(new StreamDataPassivSenderHandler());
		}
		catch (Exception e)
		{
			RealStreamTool.PASSIV_PORT.remove(port);
			logger.error("实时流数据被动发送数据进程 THREAD_NAME[" + threadName + "_" + port + "]端口监听服务启动异常", e);
		}
	}

}
